package com.sky.mapper;

import com.sky.dto.GoodsSalesDTO;
import com.sky.vo.TurnoverReportVO;
import org.apache.ibatis.annotations.Mapper;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * @Author: lutongtong
 * @Date: 2024/09/26/18:34
 * @Description:数据统计相关接口
 */
@Mapper
public interface ReportMapper {

    /**
     * 根据传入的条件动态查询总营业额
     * @param map
     * @return
     */
    Double sumByMap(Map map);

    /**
     * 根据传入的条件动态查询用户
     * @param map
     * @return
     */
    Integer sumUserByMap(Map map);

    /**
     * 根据传入条件动态查询订单数
     * @param map
     * @return
     */
    Integer sumOrderByMap(Map map);

    /**
     * 根据传入条件动态查询销量top10
     * @param beginTime
     * @param endTime
     * @return
     */
    List<GoodsSalesDTO> getTop10(LocalDateTime beginTime, LocalDateTime endTime);
}
